package com.modificial.shiro.system.service;

import com.modificial.shiro.system.domain.SysRole;
import com.modificial.shiro.util.Page;

/**
 * @author modificial
 * @date 2018/8/5 0005
 * @company modificial_org
 * @description
 */
public interface RoleService {
    /**
     * 添加一个角色
     * @param sysRole
     * @return
     */
    int addRole(SysRole sysRole);

    /**
     * 更新角色
     * @param sysRole
     * @return
     */
    int  updateRole(SysRole sysRole);

    /**
     * 禁用或启用角色
     * @param roleId 角色id
     * @param isEnable 0禁用 1启用
     * @return
     */
    int disableRole(String roleId,Integer isEnable);

    /**
     * 查询角色
     * @param nowPage 当前页
     * @param pageSize 每页显示多少条数据
     * @return
     */
    Page<SysRole> listRoles(Integer nowPage,Integer pageSize);

    /**
     *根据id查询角色
     * @param roleId
     * @return
     */
    SysRole  findRoleById(String roleId);

    /**
     * 为角色授权
     * @param roleId 角色id
     * @param permissions 权限id集合、
     * @return
     */
    int grantForRole(String roleId, String permissions);

    /**
     * 删除角色信息
     * @param roleId 角色id
     * @return
     */
    int  deleteRole(String roleId);

    /**
     * 根据角色删除用户关系
     * @param roleId 角色id
     * @return
     */
    int deleteUserByRole(String roleId);
}
